package com.peanut.youfupay.enums;

/**
 *
 * @author peanut
 */
public enum FunCodeEnum {
    //批量付款（代付）
    PAYMENT("6001"),
    //批量付款查询
    PAYMENT_QUERY("6002"),

    //账户余额查询
    ACC_OPEN("6003"),
    //下载对账文件
    CHECK_FILE("6004"),
    //个体工商业者额度查询
    BALANCE_QUERY("6005"),
    //个体工商业者签约
    SIGN_CONTRACT("6010"),
    //个体工商业者解约
    SIGN_CANCEL_CONTRACT("6102"),
    //个体工商业者签约查询
    SIGN_CONTRACT_QUERY("6011"),
    //商户可开票金额查询
    MER_INVOICE_QUERY("6012"),
    //商户申请开票
    APPLY_INVOICE("6013"),
    //商户查询开票结果
    QUERY_INVOICE_RESULT("6014"),
    //商户查询开票类目
    QUERY_INVOICE_TYPE("6015"),
    QUERY_CHARGE_RECOED("6018"), // 商户查询充值记录
    QUERY_AVAILABLE_RECHARGE_AMT("6019"), // 商户查询可充值金额
    APPLY_RECHARGE("6020"), // 商户申请充值
    QUERY_APPLY_RECHARGE_RESULT("6021"), // 商户查询本次充值结果
    PLACE_PAYMENT("6022"), // 商户批量下单



    /**商户测试自动化工具:更新订单状态FunCode**/
    UPDATE_PAYMENT_STATUS("666"),

    //批量付款查询,针对付款需要支付密码的场景
    BATCH_PAYMENT_QUERY("6023"),
    ;

    private String code;

    FunCodeEnum(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    @Override
    public String toString() {
        return this.name() + "('" + code + "')";
    }

    public static FunCodeEnum getBeanByCode(String code) {
        FunCodeEnum[] orderStatusEnums = FunCodeEnum.values();
        for (FunCodeEnum v : orderStatusEnums) {
            if (v.getCode().equals(code)) {
                return v;
            }
        }
        return null;
    }
}
